package user

import (
	"context"
	"github.com/gogf/gf/v2/frame/g"
	"github.com/gogf/gf/v2/net/ghttp"
	"iTP/api/user"
)

// Controller 结构体定义用户控制器
type Controller struct{}

// New 创建并返回一个新的Controller实例
func New() *Controller {
	return &Controller{}
}

// GetUser 处理获取用户信息的请求
// @param r *ghttp.Request 请求对象，用于处理HTTP请求
func (c *Controller) GetUser(r *ghttp.Request) {
	r.Response.Writeln("get user")
}

// AddUser 处理添加用户信息的请求
// @param r *ghttp.Request 请求对象，用于处理HTTP请求
func (c *Controller) AddUser(r *ghttp.Request) {
	r.Response.Writeln("add user")
}

// UpdateUser 处理更新用户信息的请求
// @param r *ghttp.Request 请求对象，用于处理HTTP请求
func (c *Controller) UpdateUser(r *ghttp.Request) {
	r.Response.Writeln("update user")
}

// DeleteUser 处理删除用户信息的请求
// @param r *ghttp.Request 请求对象，用于处理HTTP请求
func (c *Controller) DeleteUser(r *ghttp.Request) {
	r.Response.Writeln("delete user")
}

func (c *Controller) Params(ctx context.Context, req *user.ParamsReq) (res *user.ParamsRes, err error) {
	r := g.RequestFromCtx(ctx)
	data := r.GetQueryMap(map[string]interface{}{"name": "itp"})
	r.Response.Writeln(data)
	return
}

// 写一条查询数据库语句的方法
func (c *Controller) GetUserList(req *ghttp.Request) {
	md := g.Model("user")
	users, err := md.All()
	if err == nil {
		req.Response.WriteJson(users)
		return
	}
	return
}
